Numerous schemes have been proposed to detect, recognize, and synthesize target images. The task of detection involves determining whether a target image is present in an input image. The task of recognition involves determining whether a detected target image matches one of a set of model images. The task of synthesis involves creating a target image based on certain desired characteristics or parameters of the target image.
The example of human face detection, recognition and synthesis is of considerable practical importance. For instance, numerous applications could benefit from automatic determination of whether a photograph (or video frame or other image) contains a human face and, if so, whose face it is. Detection of other known patterns, such as dust particles, metallurgical fissures, tumors, firearms, buildings, automobiles and the like may be desirable in countless other industrial, medical, academic and government applications. In many such applications, the target patterns may include significant variations, may not be rigid, may not be geometrically parameterizable, and may not be imaged under conditions controllable by the user.
Traditionally, face detection has been performed using either correlation templates or spatial image invariants. Correlation template techniques compute a similarity measurement between a fixed target pattern and candidate image locations. If the measurement exceeds a threshold value, a "match" is declared, indicating that a face has been detected. Multiple correlation templates may be employed to detect major facial subfeatures. A related technique is known as "view-based eigen-spaces," and defines a distance metric based on a parameterizable sub-space of the original image vector space. If the distance metric is below a threshold value, a face is detected.
Image invariance schemes for face detection rely on compiling a set of image invariants particular to facial images. The input image is then scanned for positive occurrences of these invariants at all possible locations.
Unfortunately, there is enough variability in images of human faces that neither the correlation templates nor image invariants techniques provides sufficiently robust results for general application.
A need remains, therefore, for a system and method of detecting image patterns such as faces that can be made more robust than known techniques. It would be desirable for such a system and method to be independent of domain-specific knowledge or special hand-crafting techniques to build face models. It would also be preferable for such a system and method to avoid the need to derive operating parameters and thresholds manually from a few trial cases.
No such system or method is known to have been previously developed. Accordingly, there remains a need for an improved system and method that can be used for detecting human faces or other desired objects in applied images.